package main

/*
	编写一个函数，其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出
	不要给另外的数组分配额外的空间，必须原地修改输入数组，使用O(1)的额外空间解决这一问题
*/
func reverseString(s []byte){
	//主要是双指针的基础思想，一个指前一个指后，互换位置，注意边界条件
	length := len(s)
	start := 0
	end := length-1
	for{
		if start>=end{
			break
		}
		s[start],s[end] = s[end],s[start]
		start++
		end--
	}
	for _,v := range s{
		print(string(v))
		print(" ")
	}
}

func main(){
	s := []byte{'H','a','n','n','a','h'}
	reverseString(s)
}
